Remote controlled garage door opening system

ABSTRACT

A remote control system for opening and closing a barrier, such as a garage door, includes an RF receiver and a plurality of RF transmitters. The transmitters and receiver include circuitry programmed to provide transmission of encrypted code signals each time the transmitters are used and employing a code hopping method which prevents unauthorized signal interception or code “grabbing”. The system is operated in a code learning mode for the receiver by momentarily actuating a receiver learn mode button for receiving each transmitter identification code and a secret decryption key for that transmitter with the system automatically returning to the operate mode. Each transmitter identification and secret key code signal is automatically and randomly stored in an available and unused memory in the receiver circuitry. A multibit hopping code is transmitted from each transmitter to the receiver with each transmitter operation in the operate mode of the system and the hopping code changes with each transmission to prevent theft or code grabbing and resultant unauthorized operation of the system.

This application is a continuation of U.S. patent application Ser. No.08/706,682 filed on Sep. 6, 1996, now U.S. Pat. No. 6,049,289 issued onApr. 11, 2000.

FIELD OF THE INVENTION

This invention relates generally to garage door openers, moreparticularly to remotely controlled systems for opening and closinggarage doors, gates and the like, and even more particularly to systemsof this type which provide increased security from unauthorized access.

BACKGROUND OF THE INVENTION

The use of remote control systems to operate barriers, such as garagedoors, gates and the like, is well known. Such remote control systemstypically utilize hand held transmitters which emit encoded signalstransmitted at radio frequencies to a receiver associated with anautomatic door or gate operator. The receiver is effective to interceptand decode the transmitted signal and thus cause the actuation of theoperator to open or close the door or gate. These systems include thetype in which the receiver has code switches which can be manually setto correspond to the authorized transmitter codes or, alternatively, maybe “learn” type systems in which codes or the like used to identifyauthorized transmitter codes are initially stored in the receiver duringa preparatory program or learn mode.

The risk of unauthorized access is a major concern associated with theuse of the above mentioned systems. For example, unauthorized access canpotentially be achieved by means of an exhaustive, systematic search inwhich a large number of different codes are successively transmitted inthe hope that, eventually, one of the transmitted codes will match theauthorized code and activate the system. Another scheme used to gainunauthorized access is a technique, sometimes referred to as “codegrabbing”, in which the initial transmission of the authorized code iselectronically intercepted and stored for later unauthorized use.

Many of the prior art remote control systems have been susceptible tounauthorized access by one or both of the above described methods. Forexample, U.S. Pat. No. 4,750,118 issued Jun. 7, 1988 to Heitschel et al.discloses one type of “learn” remote control system for operating agarage door opener, but one particularly susceptible to code grabbing,in that each transmitter unit of the disclosed system has its ownunique, but non-changing code. Accordingly, since each transmitter unitsends the exact same coded signal to activate the door operator everytime it is used, the system of the Heitschel et al. patent is vulnerableto having the code intercepted and later used to gain unauthorizedaccess.

The system of the type disclosed in the Heitschel et al. patent hasadditional disadvantages which inhibit its effectiveness. For example,the means used to transfer between the program (learn) mode and theoperate mode comprises a two-position mechanical switch disposed on theoperator power head housing suspended from the garage ceiling, and whichmust be manually moved between program and operator positions to placethe receiver in either the “learn” or “operate” mode. Moreover, themeans used to enable receiver storage of codes from differenttransmitters is also a multi-position mechanical switch which must bemanually moved to the desired position prior to receipt of theparticular transmitter code. Such arrangements are awkward andinconvenient and, as will be appreciated by those skilled in the art,potentially unreliable.

Barrier (garage door or gate) control systems which use a techniqueknown as code hopping or code stepping are also known and have beenpreviously described and used as a means for preventing unauthorizedaccess by so-called “code grabbing”. In accordance with this codehopping technique, the code that activates the system changes (i.e.,steps or hops) after each use. For example, one particular advantageousform of code hopping is described in U.S. Pat. No. 5,517,187 to Bruweret al., assigned to an assignee of the present invention. However, acode hopping technique in accordance with the present invention as wellas the manner by which it is incorporated with the design and operationof the remote system itself, uniquely distinguishes the total system ofthe present invention from prior art systems.

Accordingly, a need for further improvements in remote controlled doorand gate operator systems has continued to be felt.

It is therefore a principal object of the present invention to provide anew and improved remote control door and gate operating system. Anotherobject is to provide such a remote control operating system withimproved means for preventing unauthorized access, including codegrabbing. A still further object of the invention is to provide such asystem which avoids the disadvantages and inconveniences associated withprior art systems utilizing mechanical or manually actuated switches.

Other objects and advantages of the invention will become apparent fromthe following specification, accompanying drawings and claims.

SUMMARY OF THE INVENTION

In accordance with a key feature of the present invention, a form ofcode hopping embodying a unique sequential decryption/comparisontechnique is incorporated into the operation of a remote control systemfor activating barrier opening apparatus, particularly garage door orgate openers. In addition, the remote control system is of a “learn”type, but one in which the authorized operating codes stored in thereceiver during the learn mode are never themselves transmitted from thetransmitter.

Broadly stated, the remote control system of the present inventioncomprises one or more RF transmitters and a digital type RF receiverassociated with the door operator. The receiver is initially programmedwith a “manufacturer's key” value. Every system produced by a givenmanufacturer has the same manufacturer's key. In addition, eachtransmitter is initially programmed with a unique serial number andunique “secret key”. The secret key stored in the transmitter isgenerated using the unique serial number of the transmitter and themanufacturer's key. Thus, every transmitter has a different serialnumber and a different secret key. When the transmitter is activated, itperforms a nonlinear encoding function using the secret key to generatea changeable hopping code signal. The hopping code changes (i.e., hops)every time the transmitter is activated.

The transmitter's unique secret key is never transmitted, and althoughthe transmitter's unique serial number is transmitted, it is not storedin the receiver. In accordance with a feature of the invention, thesecret key value which is stored in the receiver is self-generated inresponse to the encoded transmission from the transmitter during theprogram or learn mode of the receiver. During the subsequent operatemode, the receiver then uses the previously generated and stored secretkey to decode the hopping code signal from the transmitter. The dooroperator or opener device is activated when such decoded information iswithin a “window” or range of acceptable values as determined by asequential comparison technique subsequently described.

In accordance with other unique features of the system of the invention,the transition of the receiver between the operate mode and the learnmode is effected by means which momentarily places a microprocessorassociated with the receiver in the learn mode, followed by theautomatic return of the microprocessor to the operate mode without anyfurther action required of the user. In addition, the system of thepresent invention enables a technique of random storage in unusedreceiver memory to accommodate codes from different transmitters ratherthan requiring the receiver to be “switched” to a different memorylocation for a given transmitter.

The present invention also provides a remote control door or gateoperating system which is more convenient to operate, in all modes, thanprior art systems. Those skilled in the art will further appreciate theinvention upon reading the detailed description which follows inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described, by way of a nonlimiting example,with reference to the accompanying drawings in which:

FIG. 1 is an illustration of a remote controlled garage door operatingsystem of the type in which the present invention is incorporated.

FIG. 2 are block diagrams of a transmitter and receiver of the system ofthe present invention.

FIG. 3 is an illustration of the data flow related to the initialprogramming of a transmitter in accordance with the principles of thepresent invention.

FIG. 4 is an illustration of the data flow related to the initialprogramming of the receiver in accordance with the principles of thepresent invention.

FIG. 5 is an illustration of the data flow associated with theencryption function in accordance with the principles of the presentinvention.

FIG. 6 is an illustration of the data flow associated with thedecryption function in accordance with the principles of the presentinvention.

FIG. 7a is an illustration of the data format of the coded signaltransmitted by the transmitters of the system of the present invention.

FIG. 7b is an illustration of the data format of the coded signalutilized by the receiver of the system of the present invention whenoperating in the program or learn mode.

FIG. 7c is an illustration of the data format of the coded signalutilized by the receiver of the system of the present invention whenoperating in the operate mode.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows an embodiment of a remote controlled garage door system 1of the present invention used for remotely automatically activating(opening and closing) a garage door. The system described hereinaftercan also be used as a remote control system for actuating a gate orvirtually any other type of movable barrier. System 1 comprises aplurality of transmitters 40 and power head operator 20 normallysuspended from the ceiling of the garage. Rail 22 extends from powerhead 20 and is secured to the wall above the garage door 24. A first endof door arm 26 is joined to door 24, and a second end of door arm 26 isadapted to reciprocate along the length of rail 22. Power head 20contains a drive mechanism 64, as is known in the art, forreciprocatively moving (by chain not shown) along rail 22 for openingand closing garage door 24.

The drive mechanism 64 can be activated in conventional fashion bypressing button 30 of wall unit 31. Alternatively, the drive mechanism64 can be remotely activated by one of the transmitters 40 which, uponactuation, transmit coded radio frequency signals to a receiver 42 (FIG.2) in power head operator 20, all conventionally known.

The system of the present invention is a learn type system by which thereceiver 42 is effected to alternate between a program or learn mode,during which codes or coded values are created and stored which will beused to identify authorized transmitter codes, and an operate modeduring which the said identification process is carried out.

With reference to FIG. 2, each transmitter 40 can be activated bybuttons 44, which are operable to cause the transmitter to performvarious functions. In the preferred embodiment, each transmittercomprises up to four buttons 44 with various functions described in moredetail below. Each transmitter 40 contains transmitter control circuitry46 (which can be a custom integrated circuit), encoding circuitry 48,memory 50, and RF transmitter circuitry 52 including a suitable antenna52 a for generating and transmitting an encoded transmission signal. Thereceiver 42 contains RF tuning circuitry 54 connected to a suitablereceiving antenna 54 a, decoding circuitry 56, memory 58 and activationcircuitry 62 to activate drive mechanism 64 in response to theidentification of an authorized transmitter code. In addition, asdescribed below in greater detail, a learn mode button 60 can be used bythe operator to initiate the learn mode of the receiver. As shown inFIG. 2, a microprocessor 55 of conventional design and construction isused for controlling the operation of receiver 42.

The transmitter 40 is operable to transmit an encrypted hopping codesignal that changes with each transmission. The receiver 42 is operableto receive and decrypt the encrypted hopping code signal and to activatedrive mechanism 64 when the decrypted signal identifies the presence ofan authorized transmitter code. The encoding and decoding functionsrespectively performed by the encoding circuitry 48 and decodingcircuitry 56 employ novel variations of the code hopping techniquedisclosed in U.S. Pat. No. 5,517,187 to Bruwer, et al., which by thisreference is incorporated herein for all purposes.

Initial Programming

By way of example, each transmitter 40 is initially programmed with thefollowing: (a) a twenty-four bit “serial number”, (b) a sixty-four bit“secret key”, (c) a “check” value and (d) an initial synchronizationvalue. Each transmitter has a unique twenty-four bit serial number and aunique sixty-four bit “secret key”. The check value is simply a fixedvalue, and it remains the same for each transmission of the transmitter40. The synchronization value is a sixteen bit binary number whichincrements, in this preferred embodiment by one, every time thetransmitter 40 is actuated. The initial synchronization value stored inevery transmitter is zero, although it can be any number.

With reference to FIG. 3, a nonlinear function is used to generate thesixty-four bit “secret key” that is stored in a transmitter 40. Theinputs to the nonlinear function are (a) the unique twenty-four bitserial number for the particular transmitter and (b) a sixty-four bit“manufacturers key”. The same sixty-four bit “manufacturers key” is usedto program each transmitter. The nonlinear function uses the“manufacturer's key” and the serial number to generate a uniquesixty-four bit “secret key” which is stored in the transmitter. Theunique serial number is also directly stored in the transmitter 40.

With reference to FIG. 4, there is now described the initial programmingof the receiver 42. The receiver 42 is initially programmed with thesixty-four bit “manufacturers key”. The receiver 42 is also programmedwith (1) a temporary sixty-four bit “secret key”, (2) a temporarysynchronization value, (3) a temporary button value and (4) a temporarycheck value at the factory for test purposes. However, this temporarysixty-four bit “secret key” and the other temporary values do notcorrespond to those of any particular transmitter 40.

The Encryption/Decryption Process

The encryption process is used to generate a thirty-two bit changeablehopping code which is transmitted by each transmitter to the receiver42. The encryption process is carried out by the encoding circuitry 48using a code hopping non-linear function.

Referring to FIG. 5, the inputs for the code hopping non-linear functionare illustrated. The inputs include: (a) the sixty-four bit “secret key”for the particular transmitter, (b) the synchronization value, (c) thebutton value and (d) the “check” value. The sixty-four bit “secret key”,the synchronization value and the check value are the same as thosedescribed above.

The so-called button value is used to distinguish between the variousbuttons 44 on the transmitter. The transmitter 40 in the presentembodiment of the invention can have up to four separate buttons 44 thatcan be pressed by the user. The additional buttons can be used tocontrol other devices, such as gates, lights and other door operators.The button value is not programmed by the manufacturer because it isbuilt into the hardware.

The output from the non-linear function is a thirty-two bit hoppingcode. Since the synchronization value changes each time the button 44 ofthe transmitter is pressed, the thirty-two bit hopping code changes witheach transmission by the transmitter 40.

The decryption process is performed by the decoding circuitry 56 locatedin the receiver 42. With reference now to FIG. 6, the decryption processis performed using a code hopping non-linear function. The inputs forthe non-linear function are: (a) the sixty-four bit “secret key” whichwill correspond to the one in the transmitter and (b) the thirty-two bithopping code received from the transmitter. The sixty-four bit “secretkey” is generated and stored in the memory 58 used by the decodingcircuitry 56 of the receiver 42 by means of an algorithm during thelearn mode as explained below. The outputs from the code hoppingnon-linear inverse function are (a) the synchronization value (b) thebutton value, and (c) the check value. These three values correspond tothose associated with the transmitter 40 from which the thirty-two bithopping code was received.

Data Formats

FIG. 7a is an illustration of the data format of the coded signaltransmitted by a transmitter 40. The same data format is alwaystransmitted, regardless of whether the system is in the learn mode orthe operate mode. The changeable thirty-two bit hopping code changeswith each transmission.

The twenty-four bit serial number is unique to each particulartransmitter 40, is stored in the transmitter 40 during the initialprogramming and does not change from one transmission to the next. Thepreamble and start bit are the same for each transmission.

The data format of the codes used for processing in the receiver 42varies depending upon whether the receiver 42 is in the learn mode orthe operate mode. FIG. 7b is an illustration of the data format of thecoded signal used for processing in the receiver 42 in its learn mode.The twenty-four bit serial number is the unique, nonchanging serialnumber that was stored in the particular transmitter 40 (i.e., the onetransmitting) during the initial programming. As was discussed above,the thirty-two bit hopping code is different for each transmission bythe transmitter 40.

FIG. 7c is an illustration of the data format of the coded signal usedfor processing by the receiver during its operate mode. The thirty-twobit hopping code received by the receiver 42 during the operate modechanges with each transmission. The twenty-four bit serial numbertransmitted by the transmitter 40 is not used by the receiver 42 duringthe operate mode.

Conditioning the Receiver Between the Operate Mode and the Learn Mode

A learn mode button 60 and a flash indicator 60′ are located on theexterior of power head 20, as shown in FIG. 1. The learn mode button 60is connected to circuitry 56 in the receiver 42 and is used to place themicroprocessor 55 in the learn mode. Before learn mode button 60 ispressed, the microprocessor remains in the operate mode. When the learnmode button 60 is pressed and released, the microprocessor 55 andrelated circuitry is placed in the learn mode for a predetermined periodof time, for example thirty seconds, sufficient to allow the specifictransmitter information to be received, calculated and processed.

When the learn mode button 60 is pressed and released, the flashindicator 60′ flashes, normally approximately two times per second, toshow that the processor circuitry (and the system) is in the learn mode.The user of the system then presses the transmitter button 44 within thepredetermined thirty second period, and the flash indicator 60′ remainsilluminated (i.e., does not flash) to show that the specific informationfrom the transmitter is being received and processed.

The user must then press the transmitter button 44 again within a secondpredetermined period of time (e.g. thirty seconds) to confirm theinformation for the transmitter 40. The flash indicator 60′ will turnoff when the information has been received and has been confirmed. Themicroprocessor 55 then automatically returns to the operate mode whenthe information has been confirmed, without the user pushing any buttonor taking any action.

Learn Mode

During the learn mode, the receiver 42 intercepts the thirty-two bithopping code and the twenty-four bit serial number from the transmitter40. The twenty-four bit serial number (received from the transmitter)and the sixty-four bit manufacturer's key (stored in the receiver at thefactory) are then used to independently generate a sixty-four bit“secret key” that is identical to the sixty-four bit “secret key” of theparticular transmitter.

The independently generated sixty-four bit “secret key” and thethirty-two bit hopping code received from the transmitter are thenprovided as inputs for the non-linear inverse code hopping function todecrypt the thirty-two bit hopping code and thus generate (1) asynchronization value, (2) a button value and (3) a check value.Finally, the independently generated sixty-four bit “secret key”, thegenerated synchronization value, and the generated button and checkvalues corresponding to information from the particular transmitter arestored in an unused location. The twenty-four bit serial number is notstored.

In accordance with a unique feature of the invention, the processingcircuitry of the receiver automatically stores the sets of generatedsecret keys, synchronization, button and check values corresponding tothe respective transmitters, randomly, and in unused locations withinthe memory 58. There is therefore no need to devise any type of means to“switch” between dedicated sections of memory in the receiver forrespectively different transmitters.

More specifically, there are a total of seven “locations” in memory 58for storing information corresponding to each transmitter in thereceiver 42. Thus, such embodiment can be used with up to sevendifferent transmitters per receiver. When the information correspondingto particular transmitter 40 is intercepted by the receiver 42, thereceiver processing circuitry generates and stores its sixty-four bit“secret key” and the other information corresponding to that transmitterrandomly in an unused memory location in the memory 58. If all sevenmemory locations are used, then information in one of the seven memorylocations will be erased and replaced with the new information. Thus,the system of the present invention does not require an external,manually actuated switch for selecting the precise memory location inwhich the received “secret key” and the other information is to bestored.

Finally, the system of the present invention has an “erase-all” feature,which allows the user to erase all seven memory locations in thereceiver memory 58. The “erase all” feature is activated by pressing thelearn mode button 60 and holding it pressed for a minimum of eightseconds. After performing the erase-all routine, all seven memorylocations will be available, and it will be necessary to proceed throughthe learn mode steps again for each transmitter used with the system.

The Operate Mode

During the operate mode, the receiver 42 receives only the thirty-twobit hopping code transmitted by the transmitter 40. The system thensequentially decrypts the received hopping code using each sixty-fourbit “secret key” that is stored in its memory 58.

More specifically, a first stored sixty-four bit “secret key” is used todecrypt the thirty-two bit hopping code, and the following checks areperformed (in the order shown) to determine the validity of thedecrypted code:

(1) The decrypted check value is compared to the stored check value tomake sure they match exactly.

(2) The decrypted synchronization value is compared to the storedsynchronization value. The decrypted synchronization value must fallwithin a “window” or range of acceptable values. The window is (ssv+1)to (ssv+15), where “ssv” is the stored synchronization value.

(3) The decrypted button value is compared to the stored button value tomake sure they match exactly.

If any of the checks fail, a second stored sixty-four bit “secret key”is used to once again decrypt the thirty-two bit hopping code receivedfrom the transmitter 40. If this decryption also fails, a third storedsixty-four bit “secret key” is used to once again decrypt the thirty-twobit hopping code.

If all stored sixty-four bit “secret keys” fail, then the receivedthirty-two bit hopping code is determined not to be from an authorizedtransmitter, and the drive mechanism 64 will-not be activated. However,if one of the stored sixty-four bit “secret keys” successfully decryptsthe received thirty-two bit hopping code, the drive mechanism 64 isactivated.

Finally, it is important to note that, since the window or range ofacceptable values for the synchronization value is (ssv+1) to (ssv+15),the system of the present invention will not operate if the transmitter40 transmits the same code hopping signal on two successive occasions.

The Auto-Synchronization Routine

If the button switch 44 of a transmitter 40 is pressed more than apredetermined number of, say fifteen times when the transmitter 40 isout of the radio range of the receiver 42, the transmitter 40 and thereceiver 42 will no longer be synchronized. The system of the presentinvention advantageously employs a procedure, called anauto-synchronization routine, for dealing with this problem.

When the receiver 42 receives a transmission from an “out-of-sync”transmitter 40, the sixty-four bit “secret key” will successfullydecrypt the thirty-two bit hopping code, and the resulting decryptedcheck value will match the stored check value for the transmitter.However, the decrypted synchronization value will not fall within thewindow of acceptable values, and the system will therefore not actuatethe garage door or other barrier operator.

The microprocessor 55 recognizes that the check values did match,however, and it temporarily stores the decrypted synchronization value.The microprocessor 55 then awaits a second transmission, which is highlylikely since the door did not actuate on the first transmission.

Upon receiving a second transmission from the out-of-sync transmitter,the microprocessor 55 will compare the decrypted synchronization valuewith the one that was temporarily stored from the previous transmission.If it is within a second, smaller window of acceptable values, then thesystem will operate the door, and the synchronization value stored inthe receiver 42 for that transmitter will be reset to restoresynchronization between the receiver 42 and the transmitter 40. Thesmaller window of acceptable values is (tssv+1) to (tssv+3), where“tssv” is the temporarily stored synchronization value from the previoustransmission.

While the present invention has been described in connection with thepreferred embodiment, it is not intended to limit the invention to theparticular form set forth, but on the contrary, it is intended to coversuch alternatives, modifications, and equivalents as may be includedwithin the spirit and scope of the invention as defined by the appendedclaims.

What is claimed is:
 1. A radio frequency transmitter for remotelycommunicating with a receiver which is operable to transmit a commandsignal to cause the opening and closing of a garage door, said radiofrequency transmitter being one of a set of multiple radio frequencytransmitters having associated therewith a manufacturer's keydesignating a particular manufacturer; (a) said radio frequencytransmitter having stored therein a transmitter identifying codecomprising a serial number code portion unique to that transmitter, asecret key code portion unique to that transmitter, a synchronizationvalue code portion which increments each time the transmitter isactuated, and a non-linear function generator for generating a multi-bithopping code which changes each time the transmitter is actuated, saidtransmitter transmitting a coded signal representative of the hoppingcode and the serial number code portion; and (b) said receiver being ofthe type comprising a microprocessor operable between a learn mode andan operate mode; (i) said receiver further having said manufacturer'skey stored in said receiver at a factory, the receiver receiving thehopping code and the serial number code portions transmitted during saidlearn mode, with said stored manufacturer's key and the received serialnumber code portion associated with said radio frequency transmitterused to independently generate in said receiver a secret key, andthereafter a synchronization value, corresponding to the secret key codeportion and synchronization value of the particular transmitter; (ii)processing circuitry within said receiver storing, during said learnmode, said so-generated secret key and so-generated synchronizationvalue, randomly in an unused discrete memory location, or if all saiddiscrete memory locations are used, then by replacing the information inthe randomly chosen memory location with the new information; (iii) saidreceiver, during said operate mode, performing a non-linear decodingfunction on said intercepted hopping code using one of said storedsecret keys, thereby to generate a second synchronization value,comparing said second synchronization value with said storedsynchronization value and generating said command signal when saidsecond synchronization value bears, and is within a window of, apredetermined relationship with said stored synchronization value, inthe absence of said predetermined relationship, performing anothernon-linear decoding function on the intercepted hopping code using adifferent one of said stored secret keys to generate another secondsynchronization value, and continually repeating the sequence until asecond synchronization value is found which bears the said predeterminedrelationship with said stored synchronization value.